1b6138549093feebcaf1378256e4bc23b3520bbc,sketches/src/main/java/com/yahoo/sketches/theta/DirectCompactOrderedSketch.java,DirectCompactOrderedSketch,wrapInstance,#Memory#number#number#,50
Before Change
final Object memObj = srcMem.array(); //may be null
final long memAdd = srcMem.getCumulativeOffset(0L);
final int preLongs = extractPreLongs(memObj, memAdd);
final int flags = extractFlags(memObj, memAdd);
final boolean empty = (flags & EMPTY_FLAG_MASK) > 0;
final short memSeedHash = (short) extractSeedHash(memObj, memAdd);
final short computedSeedHash = computeSeedHash(seed);
checkSeedHashes(memSeedHash, computedSeedHash);
final int curCount = (preLongs > 1) ? extractCurCount(memObj, memAdd) : 0;
After Change
final short memSeedHash;
final int curCount;
final long thetaLong;
if (srcMem.isReadOnly() && !srcMem.isDirect()) {
preLongs = srcMem.getByte(PREAMBLE_LONGS_BYTE) & 0X3F;
flags = srcMem.getByte(FLAGS_BYTE) & 0XFF;
memSeedHash = srcMem.getShort(SEED_HASH_SHORT);
curCount = (preLongs > 1) ? srcMem.getInt(RETAINED_ENTRIES_INT) : 0;
thetaLong = (preLongs > 2) ? srcMem.getLong(THETA_LONG) : Long.MAX_VALUE;
} else {
final Object memObj = srcMem.array(); //may be null
final long memAdd = srcMem.getCumulativeOffset(0L);
preLongs = extractPreLongs(memObj, memAdd);
flags = extractFlags(memObj, memAdd);
memSeedHash = (short) extractSeedHash(memObj, memAdd);
curCount = (preLongs > 1) ? extractCurCount(memObj, memAdd) : 0;
thetaLong = (preLongs > 2) ? extractThetaLong(memObj, memAdd) : Long.MAX_VALUE;
}